In mobile radio communications, a variety of different type channels may be used to convey different types of information. For example, channels may be defined as control/signaling channels or traffic channels, or they may be characterized as dedicated or common/shared channels. In third generation, WCDMA cellular communications systems, the physical channels are broken down in many ways. For example, some channels are dedicated while others are shared. Two example dedicated channels are a dedicated physical data channel and a dedicated physical control channel. Two example shared channels are the high speed-downlink shared channel (HS-DSCH) mentioned in the technical field and a physical common packet channel. Shared channels require some type of sharing protocol to allow users to constructively communicate information. To that end, one or more scheduling entities regulate access to the shared channel in accordance with a scheduling protocol or algorithm.
A high speed shared channel scheduler multiplexes user information for transmission over the entire HS-DSCH bandwidth in time-multiplexed intervals called time transmission intervals (TTIs). For example, during a first TTI, a transmission over the HS-DSCH from a first user to a mobile terminal may use all of the bandwidth allotted to the HS-DSCH. For HS-DSCH, the base station is the transmitter and the user equipment (UE) is the receiver. Scheduling can also be used in E-DCH, also called enhanced uplink (EUL). In this case, the user equipment is the transmitter and the base station is the receiver.
During a second TTI, a transmission over the HS-DSCH from a second user to a mobile terminal may use all of the bandwidth allotted to the HS-DSCH. During a third TTI, a transmission over the HS-DSCH from a third user to a mobile terminal may use all of the bandwidth allotted to the HS-DSCH and so forth. As used below, the term “user” corresponds to an entity seeking to transmit or receive information over a shared communications channel. In the non-limiting HS-DSCH example, the user corresponds to the the UE that is to receive information over the HS-DSCH.
Scheduling for the HS-DSCH is typically optimized for high throughput data transmission. In other words, the main goal for a HS-DSCH scheduler (in the past) is to maximize throughput for individual users, the entire cell, or the system. For example, a carrier-to-interference ratio (C/I) scheduler might try to maximize the system throughput by sending as much data as possible over the HS-DSCH to the user currently having the best C/I condition compared to those C/I's of the other active users. (The user's C/I corresponds to the radio transmission conditions from the base station to the intended mobile terminal.) This preferential treatment continues as long as that HS-DSCH user has packets in queue to be transmitted or until the radio conditions change and some other user is detected as having a better C/I condition. In that case, the scheduler starts sending data to the other user over the HS-DSCH.
Such preferential scheduling may be achieved by assigning a priority to user packet flows according to their respective C/I conditions. FIG. 1 conceptually illustrates packet transmission priority as a function of C/I for the HS-DSCH scheduler. The HS-DSCH scheduler compares the priorities for all packet flows and assigns transmission blocks to be transmitted in the next TTI on the HS-DSCH to the data packet flows with the highest priority. But a major drawback with this kind of priority scheduler is that mobile users with poor radio conditions are assigned a low priority and may be “starved out” so they are not allocated sufficient transmission blocks to provide acceptable service to that mobile user. Another drawback is that the throughput will vary substantially and often because the C/I radio conditions change over time.
Another scheduling approach could be proportional fair scheduling. A proportional fair scheduler tries to be fair to all mobile users by taking into account the average bit rate and the possible current bit rate for each mobile user. If the user has not been scheduled a transmission block over the HS-DSCH for a while, the mobile user's average bit rate will be low, and as a result, the user's priority will increase. With increased priority, the user's packets are transmitted over the HS-DSCH sooner. But users with poor channel conditions may still only receive relatively low throughput in contrast with mobile users with good channel conditions that continue to receive high throughput.
Both the C/I scheduling and proportional/fair scheduling also have serious drawbacks when it comes to scheduling packets for services that require predictable and stable transmission delay times. One example of such a service is Voice-over-IP (VoIP). Unlike data services such as email, file transfer, etc., where delaying the transmission and variability in the delay is tolerable, long delays and wide variances in delays in packet delivery are significant problems for VoIP and similar services. The transmitting VoIP application typically creates packets with a very regular interval, (e.g., every 20 msec), and the VoIP receiver should receive packets with a small delay jitter and a fairly constant packet transmission rate. Also, VoIP requires a small “delay jitter” independent of how radio transmission resources are allocated and scheduled for other mobile users. For purposes of this description, the term “delay jitter” describes the variability or range of packet transmission delay times attributable to priority decisions made by the packet transmission scheduler before a packet that is ready for transmission is actually transmitted. For both C/I scheduling and proportional/fair scheduling, the variations in throughput are quite unpredictable and depend on the priority assigned for other users.
Given these issues for VoIP and similarly constrained delay-sensitive services, another scheduling approach might be round-robin type scheduling where the time between each transmission is set equal for all users in a cell regardless of radio conditions in the scheduling decision. A round robin approach would likely even out the delay disparities between users, but delay jitter may still be a problem for all users if radio conditions change significantly and often.
Yet another approach might be packet transmission delay scheduling where the packet priority is increased as a function of scheduling delay. Packets delayed a longer time receive higher priority. FIG. 2 illustrates the concept of delay scheduling—the longer the delay before transmission, the higher the priority. Delay jitter is decreased since packets with a longer delay get increased priority as shown in FIG. 2. Pure delay-based scheduling may work well if all mobile users are VoIP users, but it will likely provide less than optimal performance for mobile users that want high speed data transmission. To improve overall performance for pure data services, delay scheduling could be combined with either C/I scheduling or proportional/fair scheduling.
FIG. 3 graphs the number of packets transmitted versus scheduling delay to show an example of the delay distribution when a delay scheduling algorithm such as that described in conjunction with FIG. 2 is not used. The delay jitter or range is indicated taking into account 95% of the packets as an example. At the very longest delays beyond a delay limit, packets are dropped. FIG. 4 shows how using a delay scheduling algorithm reduces the delay jitter or the range of delays from the “high end” where the longest packet transmission delays are experienced. So the delay jitter is “compressed” from (or reduced at) the high end of the distribution curve. This high end compression moves the longest delayed packets within the delay limit so that no packets are lost.
Another factor that should be taken into account in packet scheduling is transport format (TF) selection. In WCDMA systems, high-speed data transmission is achieved by allocating a significant number of spreading codes (i.e., the radio resources in WCDMA systems) to the HS-DSCH. With small transport block (TB) sizes, few spreading codes are used each HS-DSCH TTI, and thus, the efficiency of the HS-DSCH is lower. From a packet transmission scheduling perspective, it is also inefficient to transmit small TB sizes each TTI. Another disadvantage with transmitting small TB sizes each TTI is that the padding (inserted “filler” bits) ratio for radio link control layer (RLC) packets combined into a TTI transmission block may be high depending on RLC packet size and voice codec packet sizes.
Accordingly, a packet transmission scheduling approach that overcomes these problems and resolves the above issues is needed to improve the performance and efficiency of shared channel transmissions for a broad range of services including time-delay sensitive services like VoIP, throughput-driven services like data services, etc.